Skip to content

Add DX Marathon award and alert support - #1099

Closed
aa5sh wants to merge 2 commits into
foldynl:masterfrom
aa5sh:DX-Marathon
Closed

Add DX Marathon award and alert support#1099
aa5sh wants to merge 2 commits into
foldynl:masterfrom
aa5sh:DX-Marathon

Conversation

@aa5sh

@aa5sh aa5sh commented Jul 14, 2026

Copy link
Copy Markdown

Introduce a DX Marathon award UI and alert integration.
Adds AwardDXMarathon (awards/AwardDXMarathon.{cpp,h}) with ADIF export and listing, registers it in AwardsDialog and UI.
Alert system: new dxMarathon flag in AlertRule (save/load/match/operator), AlertRuleDetail UI checkbox, and alert evaluation logic to detect new entities/zones.
Persistence: migration_040.sql adds alert_rules.dx_marathon and Migration::latestVersion bumped to 40.

Settings: LogParam getters/setters and SettingsDialog controls to choose profile vs callsign matching. Updated resources (res.qrc) and small UI text tweak.

image image image

aa5sh added 2 commits July 13, 2026 11:57
Introduce a DX Marathon award UI and alert integration. Adds AwardDXMarathon (awards/AwardDXMarathon.{cpp,h}) with ADIF export and listing, registers it in AwardsDialog and UI. Alert system: new dxMarathon flag in AlertRule (save/load/match/operator), AlertRuleDetail UI checkbox, and alert evaluation logic to detect new entities/zones. Persistence: migration_040.sql adds alert_rules.dx_marathon and Migration::latestVersion bumped to 40. Settings: LogParam getters/setters and SettingsDialog controls to choose profile vs callsign matching. Updated resources (res.qrc) and small UI text tweak.
Prevent DX Marathon from being filtered by the normal DXCC log-status: AlertEvaluator now skips the dxLogStatusMap check when dxMarathon is true, adds a marathonEligible SQL clause (allowed bands and excludes /AM and /MM suffixes), and improves debug output showing entity/zone worked state. Fixed a typo in StationProfile (darc_doc -> darc_dok) so contact inner-join uses the correct column. Added unit tests for StationProfile (test pro and tst_stationprofile.cpp) and registered the test in tests.pro. Updated AlertRuleDetail.ui tooltip to clarify DX Marathon ignores DXCC log-status selections.
@foldynl

foldynl commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Do you think it is a good idea to open this can of worms?

I am asking because I already feel a lot of pressure from different directions to add support for all kinds of programs and activities to QLog. There are hundreds of them in the ham radio world. Almost an endless number, as it sometimes feels like everyone is creating a new award or organizing a contest.

It is simply not possible to include all of them directly in the GUI or to keep adding special GUI exceptions for each one.

Why should DX Marathon be the next one?

@aa5sh

aa5sh commented Jul 21, 2026 via email

Copy link
Copy Markdown
Author

@foldynl

foldynl commented Jul 21, 2026

Copy link
Copy Markdown
Owner

This probably needs to be designed differently. There are already many such requests, and there will likely be more and more in the future.

I do not want to reject everything automatically, because that is not the right approach. At the same time, I do not want QLog to end up with a dialog full of checkboxes for awards and other activities.

POTA, SOTA, IOTA, and similar programs are included because they are widely known and, more importantly, have dedicated fields in ADIF. This may not be the ideal criterion, but we had to start somewhere.

However, as the number of supported activities grows, this distinction will probably no longer be sufficient. The settings could also become large, complicated, and difficult to maintain. At the moment, though, I am not sure what the best solution would be.

@aa5sh

aa5sh commented Jul 26, 2026

Copy link
Copy Markdown
Author

Ok I understand your concerns. I will go ahead and close this PR and it can be revisited again later.

@aa5sh aa5sh closed this Jul 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants